﻿// 3512. 最短距离总和.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


/*

https://www.acwing.com/problem/content/3515/
给定一张带权无向完全图，设点的编号为 1,2,3,4,5....n（以邻接矩阵的形式给出）。

计算依次拿走第 i个点后，剩余所有点到其他点的最短距离之和的总和（具体请看样例）。

输入格式
第一行包含一个整数 n。

接下来 n行，每行包含 n 个空格隔开的整数，表示邻接矩阵，其中第 i行第 j
 列的数字 aij表示点 i 和点 j之间存在一条边，长度为 aij。

输出格式
一个整数，表示最短距离之和的总和。

数据范围
1≤n≤500
,
aii=0
,
0<aij≤10 (i≠j)
输入样例：
4
0 1 1 1
1 0 1 1
1 1 0 1
1 1 1 0
输出样例：
8
样例解释
拿走 1 号点后，2,3,4 号点构成一个等边三角形，每个点到其他两点的最短距离都为 1
，所以所有点到其他点的最短距离之和的总和为 2+2+2=6。

拿走 1,2号点后，3,4号点之间存在一条边，边长为 1
，所以所有点到其他点的最短距离之和的总和为 1+1=2。

拿走 1,2,3号点后，仅剩 1个点，不存在到其他点的最短距离。

拿走所有点后为空。

最终结果为 6+2+0+0=8。
*/
int main()
{
    std::cout << "Hello World!\n";
}

 